package com.smdp.service;

import com.smdp.dto.Result;
import com.smdp.entity.Follow;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 关注功能服务接口。
 * 包含关注/取关博主、查询是否关注、查询共同关注。
 *
 * @author 蔡方珩
 */
public interface IFollowService extends IService<Follow> {
    /**
     * 关注/取关博主
     * @param followUserId  博主id
     * @param isFollow      是否关注
     * @return 成功：ok / 失败：失败原因
     */
    Result follow(Long followUserId, Boolean isFollow);
    /**
     * 查询是否关注博主
     * @param followUserId  博主id
     * @return 关注博主：true / 未关注：false
     */
    Result isFollow(Long followUserId);
    /**
     * 查询和另一用户共同关注的博主。
     * @param id 另一用户的id
     * @return 成功：共同关注的用户列表List / 失败：失败原因
     */
    Result followCommons(Long id);
}
